# import functools
#
# def login_user_data(view_func):
#     # 2 .使用工具的方法
#     @functools.wraps(view_func)
#     def wrapper(*args, **kwargs):
#
#         return view_func(*args, **kwargs)
#     return wrapper
#
#
# @login_user_data
# def index():
#     print("index")
#
# # 使用装饰器装饰之后，__name__属性的值全部变为wrapper,不再是原来的名字,
# # 这样会导致路由列表混乱
# # 使用functools 工具后，可以是其保有原来的名字
# # 1.导入工具 2 使用工具
#
# @login_user_data
# def hello():
#     print("hello")
#
# if __name__ == '__main__':
#     print(index.__name__)
#     print(hello.__name__)

# -------------------------------------------------------
import datetime
import random

from info import db
from info.models import User
from manage import app


def add_test_users():
    users = []
    # 获取当前时间
    now = datetime.datetime.now()
    for num in range(0, 10000):
        try:
            user = User()
            user.nick_name = "%011d" % num
            user.mobile = "%011d" % num
            user.password_hash = "pbkdf2:sha256:50000$SgZPAbEj$a253b9220b7a916e03bf27119d401c48ff4a1c81d7e00644e0aaf6f3a8c55829"
            # 最后一次登录时间按 时间按范围 ：31号  到这个月前面的1号之间 一个随机时间作为登录时间
            user.last_login = now - datetime.timedelta(seconds=random.randint(0, 2678400))
            users.append(user)
            print(user.mobile)
        except Exception as e:
            print(e)
    # 开启应用上下文 重点（模拟 一个场景出来）
    with app.app_context():
        db.session.add_all(users)
        db.session.commit()
    print('OK')

if __name__ == '__main__':
    add_test_users()